package tests;

import metodosIntegradores.MetodosIntegradores;
import funciones.FuncionX;

public class RombergTest {
	
	

//	Quiero calcular T2(h) para las siguientes integrales en el intervalo [1,3] con h=b-a utilizando Romberg.
//     - ln x dx
//	   - 1/x dx	
//	Accedo al metodo desde la clase MetodosNumericos (donde los mismos estan agrupados)

	
	// EJEMPLO 1
	
//	public static void main(String[] args) {
//		//defino la funcion 
//		FuncionX f = new FuncionX(){
//
//			public double eval(double x) {
//				//ln x
//				return Math.log(x);
//			}
//			
//		};
//		
//		//Aplicamos Romberg para calcular el valor de la integral
//		
//			/* Le paso la funcion en el punto,
//			 * el comienzo del intervalo a, el final del intervalo b,
//			 * y la cantidad de intervalos
//			 */
//		
//		/* aclaracion: en este caso le paso 4 como cantidad de intervalos porque cuando llega a R2(h) los intervalos
//		 * van quedando de la forma:
//		 * 		 1(a)     2     3(b)
//		 * 		 x0	      x1	x2
//		 * 		 x0  x1  x2  x3 x4
//		 */
//			double valor = MetodosIntegradores.romberg(f, 1, 3, 4);
//			System.out.println("El valor de T2(h) es "+valor);
//	}
	
	//EJEMPLO 2
	
	public static void main(String[] args) {
		
		FuncionX f = new FuncionX(){

			public double eval(double x) {
				return 1/x;
			}
			
		};
		double valor = MetodosIntegradores.romberg(f, 1, 3, 4);
		System.out.println("El valor real de la integral es "+valor);
	}
	
	
}
